package data.composition.factory.core;

import java.util.Collection;
import java.util.function.Function;
import java.util.function.Predicate;

/**
 * @author ZhangJinyu
 * @since 2024-12-13
 */
public interface FromWrapper<T, R, V> {

    Mapping<T, R, V> key(Function<T, V> dk);

    CollectionMapping<T, R, V> keys(Function<T, Collection<V>> dk);

    FromWrapper<T, R, V> filter(Predicate<? super R> predicate);
}
